package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc BatchAddDmAttRelaComReqDto
 * @使用场景
 */
@Data
public class BatchAddDmAttRelaComReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 归属内容实例ID
   */
  @NotNull(message = "归属内容实例ID不能为空")
  @ApiModelProperty("归属内容实例ID")
  private String entityId;

  /**
   * 业务应用文档归属类型编码 EVA_TEMP:评价模板 TARGET:目标 TARGET_CATEGORY:目标分类 OBJECTIVE:指标 NOTICE:通知公告 TASK:任务 ACHIEVEMENT:成果 TARGET_CYCLE_STAGE_DATA:目标周期阶段资料 PLANNING:规划资料
   */
  @NotNull(message = "业务应用文档归属类型编码不能为空")
  @ApiModelProperty("业务应用文档归属类型编码")
  private String bizAppFileTypeCode;

  /**
   * 文档内容关系类型编码 DIRECT_RELATION:直接关系 INDIRECT_RELATIONSHIP:间接关系
   */
  @NotNull(message = "文档内容关系类型编码不能为空")
  @ApiModelProperty("文档内容关系类型编码")
  private String baseFileRelationshipType;

  /**
   * 一级属性ID
   */
  @ApiModelProperty("一级属性ID")
  private String oneStageId;

  /**
   * 二级属性ID
   */
  @ApiModelProperty("二级属性ID")
  private String twoStageId;

  /**
   * 末级属性ID
   */
  @ApiModelProperty("末级属性ID")
  private String lastStageId;

  /**
   * 主题内容ID
   */
  @NotNull(message = "主题内容ID不能为空")
  @ApiModelProperty("主题内容ID")
  private String themeContentId;

  @ApiModelProperty("业务应用文档关系列表")
  private List<BusAppDocRelaDto> busAppDocRelaList = new ArrayList<>();

}
